package com.controller;

import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.Date;

@RestController
@RequestMapping("/special/params")
public class SpecialParamsController {

    /**
     *      作用：建立请求参数与形参的对应关系
     *      属性：
     *          value：请求参数的名称
     *          required：是否必须传这个参数
     *          defaultValue：没有该参数时的默认值
     *      访问url:localhost:8080/special/params/handler01?name=张三&age=12
     */
    @RequestMapping("/handler01")
    public String handler01(@RequestParam(value="name",required = true,defaultValue = "李四")
                                        String userName,Integer age){
        System.out.println(userName+":"+age);
        return "success-special-handel01";
    }

    /**
     * DateTimeFormat(pattern="yyyy-MM-dd"):将请求携带的日期进行格式化
     *  请求携带的日期要和格式化中的格式保持一致(和前端传的日期保持一致)
     *  访问url：localhost:8080/special/params/handler02?name=张三&birthday=2000-01-01
     */
    @RequestMapping("/handler02")
    public String handler02(String name,@DateTimeFormat(pattern = "yyyy-MM-dd") Date birthday){
        System.out.println(name+":"+birthday);
        return "success-special-handle02";
    }
}
